const fs = require('fs')
/*
  两个任务
    1. 实时抓取雪球的 指数行情
      https://xueqiu.com/
    2. 抓取历史指数
      https://xueqiu.com/S/SH000001
*/

const puppeteer = require('puppeteer');

(async () => {
  // 创建一个浏览器实例
  const browser = await puppeteer.launch({
    headless: 'new'
  });
  // 打开一个新页面
  const page = await browser.newPage();
  await page.setViewport({ width: 1600, height: 1200 });
  // 跳转到指定的网址
  await page.goto('https://xueqiu.com/');
  // 设置视口大小为宽度 800px 和高度 600px
  // 获取页面标题
  const pageTitle = await page.title();
  console.log('页面标题:', pageTitle);
  await page.screenshot({ path: 'example.png' });

  const spanList = await page.$$('.StockSlider_home__stock-index__item_1V7');

  let list = []
  for (const div of spanList) {
    const text = await div.evaluate(link => link.textContent);
    list.push(text)
  }
  fs.writeFileSync('./t.txt', JSON.stringify(list, null, 2));

  // await page.click('.StockSlider_next_1-b')
  // await page.click('.StockSlider_next_1-b')
  // await page.click('.StockSlider_next_1-b')

  // 登陆
  // 账号
  // await page.type('input[name="username"]', '15022222222')
  // // 密码
  // await page.type('input[name="password"]', '123456')
  // // 点击登陆
  // await page.click('.Loginmodal_modal__login__btn_uk7')

  // await page.wait
  await new Promise(r => setTimeout(r, 4000));

  await page.screenshot({ path: 'example.png' });

  // 关闭浏览器
  await browser.close();

})();
